﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/**
上位机查询状态命令格式：送时间和气象数据 温室接收
第01字节：帧头（3FH：？）
第02字节：帧长（0FH）
第03字节：ID（温室ID：1..40）
第04字节：上位机时间小时
第05字节：上位机时间分钟
第06字节：上位机时间秒钟
第07字节：室外温度低字节
第08字节：室外温度高字节
第09字节：光照强度低字节
第0A字节：光照强度高字节
第0B字节：风速低字节
第0C字节：风速高字节
第0D字节：风向（1-8）
第0E字节：雨雪信号（ACC.0:0-无雨雪，1-有雨雪）
第0F字节：检验字节（0AAH）。
 * **/

namespace ASoft.Msg
{
    [Msg(0x3F, 0x0F, 0xAA)]
    [RecordTypeAttribute(ERecordType.RoomSearch)]
    public class RoomSearchMsg : MsgBase
    {
        public RoomSearchMsg() : base() { }

        public RoomSearchMsg(byte[] data) : base(data) { }

        [SP(0x03)]
        public byte Id { get; set; }

        [SP(0x04)]
        public byte 上位机时间小时 { get; set; }

        [SP(0x05)]
        public byte 上位机时间分钟 { get; set; }

        [SP(0x06)]
        public byte 上位机时间秒钟 { get; set; }


        public decimal 室外温度
        {
            get
            {
                return AppUtility.TemperatureToDisplay(室外温度EX);
            }
            set
            {
                室外温度EX = AppUtility.TemperatureToReal(value);
            }
        }

        [DP(0x07, 0x08)]
        public short 室外温度EX { get; set; }

        [DP(0x09, 0x0A)]
        public short 光照强度 { get; set; }


        public decimal 风速
        {
            get
            {
                return AppUtility.WindSpeedToDisplay(风速EX);
            }
            set
            {
                风速EX = AppUtility.WindSpeedToReal(value);
            }
        }

        [DP(0x0B, 0x0C)]
        public short 风速EX { get; set; }

        [SP(0x0D)]
        public byte 风向 { get; set; }

        [SP(0x0E)]
        public byte 雨雪信号 { get; set; }
    }
}
